package com.pencilisland.pay.mgt.console.service;

import java.util.List;

import com.pencilisland.pay.mgt.console.bean.JstreeNode;
import com.pencilisland.pay.mgt.console.entity.SysOrg;
import com.pencilisland.pay.mgt.console.entity.SysUser;

/**
 * 组织机构服务
 * 
 * @author Breeze
 *
 */
public interface OrgService {

	/**
	 * 组织机构JSTree数据
	 * 
	 * @param rootId
	 * @return
	 */
	JstreeNode orgTreeData(Long rootId);

	/**
	 * 保存更新机构
	 * 
	 * @param org
	 * @return
	 */
	SysOrg save(SysOrg org);

	/**
	 * 加载数据
	 * 
	 * @param id
	 * @return
	 */
	SysOrg loadData(Long id);

	/**
	 * 删除数据
	 * 
	 * @param id
	 */
	void delete(Long id);

	/**
	 * 用户选择Jstree数据
	 * 
	 * @param rootId
	 * @return
	 */
	JstreeNode orgTreeDataUser(Long rootId);

	/**
	 * 机构用户选择
	 * 
	 * @param rootId
	 * @return
	 */
	JstreeNode orgTreeDataUser1(Long rootId);

	/**
	 * 查找所有父机构
	 * 
	 * @param user
	 * @return
	 */
	List<SysOrg> findAllParentOrg(SysUser user);

	/**
	 * 通过编号获取机构
	 * @param orgNumber
	 * @return
	 */
	SysOrg findByOrgNumber(String orgNumber);

}
